package com.yidu.t299.service.twj;

import com.yidu.t299.domain.twj.SysRole;


import java.util.List;
import java.util.Map;

/**
 * @author twj
 * @version 1.0.0
 */
public interface SysRoleBiz {

    /**
     * 根据主键删除角色信息(实际上是修改flag字段的值，不能直接删除信息)
     * @param roleId 角色编号
     * @return 影响的行数(1:成功)
     */
    int deleteByPrimaryKey(Integer roleId);

    /**
     * 根据主键批量删除角色信息(实际上是修改flag字段的值，不能直接删除信息)
     * @param array 角色编号数组
     * @return 影响的行数(1:成功)
     */
    int deleteBatch(Integer[] array);

    /**
     * 添加角色信息
     * @param sysRole 角色对象
     */
    void insert(SysRole sysRole);

    /**
     * 根据主键查询角色信息
     * @param roleId 角色编号
     * @return 角色对象
     */
    SysRole selectByPrimaryKey(Integer roleId);

    /**
     * 根据主键查询角色信息(不筛选状态)
     * @param roleId 角色编号
     * @return 角色对象
     */
    SysRole selectById(Integer roleId);


    /**
     * 根据所给属性值来修改其字段值
     * @param sysRole 角色对象
     */
    void update(SysRole sysRole);


    /**
     * 批量查询
     * @param sysRole 角色对象
     * @return 角色对象集合
     */
    List<SysRole> select(SysRole sysRole);

    /**
     * 同步案例中：分页条件查询，我们反馈的是PageInfo对象
     * 但是PageHelper建议尽量不要跨层，以便后期维护。
     *  比如：后期我们通过Mybatis-plus替换mybatis，那么如果跨层，就需要多个地方更改。
     * @param pageNum 页码
     * @param pageSize 每页行数
     * @param sysRole 角色对象
     */
    Map<String, Object> findPage(Integer pageNum, Integer pageSize, SysRole sysRole);
}
